iOS中UTC/GMT时间与地时区时间 转换总结

您所在的位置:网站首页 ios 日期格式 iOS中UTC/GMT时间与地时区时间 转换总结

iOS中UTC/GMT时间与地时区时间 转换总结

2024-07-02 00:18| 来源: 网络整理| 查看: 265

什么是UTC时间

协调世界时(英:Coordinated Universal Time ,法:Temps Universel Coordonné),又称世界统一时间,世界标准时间,国际协调时间。英文(CUT)和法文(TUC)的缩写不同,作为妥协,简称UTC(摘自百度百科) 。 中国大陆、中国香港、中国澳门、中国台湾、蒙古国、新加坡、马来西亚、菲律宾、西澳大利亚州的时间与UTC的时差均为+8,也就是UTC+8(相差八个小时) 这套时间系统被应用于许多互联网和万维网的标准中,因此在日常开发中UTC时间的使用较为常见

格林尼治标准时(GMT)

是指位于伦敦郊区的皇家格林尼治天文台的标准时间(开发中不常用)

特别注意:

iOS中的NSDate对象存放的日期始终是UTC的标准时间(比如下面的例子,服务器返回的字符串是utc时间,本地时区是北京) 有结果可知:时间字符串转成NSDate时,没有指定时间字符串的时区,系统会根据本地时区,将时间字符串转成utc时间存放在NSDate对象中(通过Summary可以看出),而NSLog打印NSDate时,又会根据当地时区将utc时间转成本地时区时间打印出来。 结论:NSDate中存放的时间会自动转换成utc时间,NSLog打印的时间会自动根据时区打印不同的结果 NSDateFormatter *format = [[NSDateFormatter alloc] init]; format.dateFormat = @"yyyy-MM-dd HH:mm:ss"; NSString *timeStr = @"2017-10-25 02:07:39"; //将时间字符串默认当本地时区处理,转成NSDate时 -8,打印时再 +8 NSDate *timeDate = [format dateFromString:timeStr]; // Summary 2017-10-24 18:07:39 UTC NSLog(@"timeDate = %@", timeDate); //timeDate = Wed Oct 25 02:07:39 2017 format.timeZone = [NSTimeZone timeZoneWithAbbreviation:@"UTC"]; //将时间字符串当utc处理,打印时根据本地时区自动打印 +8 NSDate *utcDate = [format dateFromString:timeStr]; // Summary 2017-10-25 02:07:39 UTC NSLog(@"timeDate = %@", utcDate); //timeDate = Wed Oct 25 10:07:39 2017

转换函数



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3